#!/usr/bin/env python3
"""
视频工具 Web API 服务主启动文件
"""

import os
import sys
import argparse
import logging

# 添加项目根目录到Python路径
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))

from app.api.app import app
from app.tools.utils import cleanup_old_files, setup_logging

def main():
    """主函数"""
    parser = argparse.ArgumentParser(description='视频工具Web API服务')
    parser.add_argument('--host', default='0.0.0.0', help='服务器主机地址')
    parser.add_argument('--port', type=int, default=5000, help='服务器端口')
    parser.add_argument('--debug', action='store_true', help='启用调试模式')
    parser.add_argument('--config', default='development', 
                       choices=['development', 'production', 'testing'],
                       help='配置环境')
    
    args = parser.parse_args()
    
    # 设置环境变量
    os.environ['FLASK_CONFIG'] = args.config
    
    # 启动时清理旧文件
    try:
        cleanup_old_files(app.config['UPLOAD_FOLDER'])
        cleanup_old_files(app.config['OUTPUT_FOLDER'])
        logging.info("旧文件清理完成")
    except Exception as e:
        logging.warning(f"文件清理失败: {e}")
    
    # 启动服务
    logging.info(f"视频工具服务启动在 {args.host}:{args.port}")
    logging.info(f"配置环境: {args.config}")
    logging.info(f"调试模式: {args.debug}")
    
    app.run(
        host=args.host,
        port=args.port,
        debug=args.debug
    )

if __name__ == '__main__':
    main() 